package com.qf.service;

import com.qf.baseservice.IBaseService;
import com.qf.entity.Cart;
import com.qf.entity.User;

import java.math.BigDecimal;
import java.util.List;

/**
 * @Author：刘亚康
 * @Date：2020/4/9
 * @QQ：50770284
 * @Phone：18235947935
 * @Desc : 购物车接口
 **/
public interface ICartService extends IBaseService<Cart> {
    /**
     * 添加商品到购物车
     * @param cart
     * @param user
     * @param cartToken
     * @return
     */
    int addGoodsToCart(Cart cart, User user, String cartToken);

    /**
     * 获取购物车内容
     * @param user
     * @param cartToken
     * @return
     */
    List<Cart> getCartList(User user, String cartToken);

    /**
     * 获取购物车商品的数量
     * @param user
     * @param cartToken
     * @return
     */
    Integer getUserCartCount(User user, String cartToken);

    /**
     * 合并购物车
     * @param loginUser
     * @param cartToken
     */
    void mergeCart(User loginUser, String cartToken);

    /**
     * 修改购物车中的商品
     * @param cart
     * @param user
     * @param cartToken
     * @return
     */
    List<Cart> updateCartNum(Cart cart, User user, String cartToken);

    /**
     * 根据id删除购物车
     * @param user
     * @param cartToken
     * @param cartId
     * @return
     */
    int deleteCart(User user, String cartToken,Integer cartId);

    /**
     * 根据用户id获取用户要下单的所有购物车
     * @param cartIdList
     * @param user
     * @return
     */
    List<Cart> getCartByUserId(List<Integer> cartIdList, User user);

}
